home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 46 / Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso / -in_the_mag- / reader_requests / scilab / bin / vscilab < prev    next >
Text File  |  1999-09-16  |  5KB  |  251 lines

  1. #!/bin/sh
  2. # Warning : some old versions of sh dont allow inline function definitions
  3. # like do_scilex()... . In this case use a system V sh (sh5)
  4. # Set the SCI environment variable if not already set
  5. if test "$SCI" = ""; then
  6.   SCI="/store3/sci/scilab-2.2"
  7. fi
  8. PRINTERS="lp:LaserHP:SalleBal:LaserLabo|labo:Secretariat:ColorPS"
  9. #############################################################################
  10. #                                                                           #
  11. #                       DO NOT MODIFY BELOW THIS LINE                       #
  12. #                                                                           #
  13. #############################################################################
  14. export SCI
  15. export PRINTERS
  16. VERSION="Scilab-2.2"
  17. export VERSION
  18.  
  19. do_scilex()
  20. {
  21.     PATH=$PATH:$SCI:$SCI/util
  22.     export PATH
  23.     XAPPLRESDIR=$SCI/X11_defaults
  24.     export XAPPLRESDIR
  25.     XLESSHELPFILE=$SCI/X11_defaults/xless.help
  26.     export XLESSHELPFILE
  27.     NETHELPDIR=$SCI/X11_defaults
  28.     export NETHELPDIR
  29.     tty -s && stty kill '^U' intr '^C' erase '^H' quit '^\' eof '^D' susp '^Z'
  30.     $SCI/bin/scilex $* 
  31. }
  32.  
  33. do_geci_scilex()
  34. {
  35.     PATH=$PATH:$SCI:$SCI/util
  36.     export PATH
  37.     XAPPLRESDIR=$SCI/X11_defaults
  38.     export XAPPLRESDIR
  39.     XLESSHELPFILE=$SCI/X11_defaults/xless.help
  40.     export XLESSHELPFILE
  41.     NETHELPDIR=$SCI/X11_defaults
  42.     export NETHELPDIR
  43.     tty -s && stty kill '^U' intr '^C' erase '^H' quit '^\' eof '^D' susp '^Z'
  44.     $SCI/bin/geci -local $SCI/bin/scilex $* 
  45. }
  46.  
  47. do_help()
  48. {
  49. echo "Usage  :"
  50. echo     "    scilab [-ns -nw -display display]"
  51. echo     "    scilab -help <key>"
  52. echo     "    scilab -k <key>"
  53. echo     "    scilab -link <objects>"
  54. echo     "    scilab -function <function-name>"
  55. echo     "    scilab -print_p file printer"
  56. echo     "    scilab -print_l file printer"
  57. echo     "    scilab -save_p file format"
  58. echo     "    scilab -save_l file format"
  59. }
  60.  
  61. do_mank()
  62. {
  63.     f1=`grep -i $1 $SCI/man/Man-Part1/whatis 2> /dev/null`
  64.     f2=`grep -i $1 $SCI/man/Man-Part2/whatis 2> /dev/null`
  65.     if  test -n "$f1$f2" 
  66.     then
  67.         grep -i $1 $SCI/man/Man-Part1/whatis 2> /dev/null
  68.         grep -i $1 $SCI/man/Man-Part2/whatis 2> /dev/null
  69.     else
  70.         echo $1: nothing appropriate
  71.     fi
  72. }
  73.  
  74. do_man()
  75. {
  76.     MAN=$SCI/man
  77.     f=`ls $MAN/*/cat*/$1.* 2> /dev/null`
  78.     if  test -n "$f"
  79.     then 
  80.         cat $f
  81.     else
  82.         echo No manual entry for $1
  83.     fi 
  84. }
  85.  
  86. do_compile()
  87. {
  88.     umask 002
  89.     rm -f report
  90.     name=`basename $1 .sci`
  91.     echo generating $name.bin
  92.     echo "%u=file('open','$name.bin','unknown','unformatted');predef();\
  93.           getf('$name.sci','c');save(%u),file('close',%u);quit"\
  94.           | $SCI/bin/scilex -ns -nw | sed 1,/--\>/d 1>report 2>&1
  95.     if (grep error report 1> /dev/null  2>&1);
  96.     then cat report;echo " " 
  97.        echo see `pwd`/report for more informations
  98.        grep libok report>/dev/null; 
  99.     else rm -f report;
  100.     fi
  101.     umask 022
  102.     exit 0
  103. }
  104.  
  105. do_lib()
  106. {
  107.     umask 002
  108.     rm -f report
  109.     echo "%u=file('open','$2/lib','unknown','unformatted');$1=lib('$2/');\
  110.           save(%u,$1);file('close',%u);quit"\
  111.           | $SCI/bin/scilex -ns -nw |sed 1,/--\>/d 1>report 2>&1
  112.     if (grep error report 1> /dev/null  2>&1);
  113.     then cat report;echo " " 
  114.         echo see `pwd`/report for more informations
  115.         grep libok report>/dev/null; 
  116.     else rm -f report;
  117.     fi
  118.     umask 022
  119.     exit 0
  120. }
  121.  
  122.  
  123. do_print() 
  124. {
  125.     $SCI/bin/BEpsf $1 $2 
  126.     lpr -P$3 $2.eps
  127.     rm -f $2 $2.eps
  128.  
  129. }
  130.  
  131. do_save() 
  132. {
  133.     case $3 in 
  134.           Postscript)
  135.         $SCI/bin/BEpsf $1 $2 
  136.                ;;
  137.           Postscript-Latex)
  138.         $SCI/bin/Blatexpr $1 1.0 1.0 $2 
  139.            ;;
  140.       Xfig)
  141.         case $1 in
  142.         -portrait)
  143.             mv $2 $2.fig
  144.         ;;
  145.         -landscape)
  146.             sed -e "2s/Portrait/Landscape/" $2 >$2.fig
  147.             rm -f $2
  148.         ;;
  149.         esac
  150.                ;;
  151.     esac
  152. }
  153.  
  154.  
  155. case $# in
  156.     0)
  157.     do_geci_scilex &
  158.         ;;
  159.     1)
  160.         case $1 in
  161.              -ns)
  162.         do_scilex $* &
  163.         ;;
  164.          -nw)    
  165.         do_geci_scilex $*
  166.         ;;
  167.          -help)
  168.         do_man scilab|more
  169.         ;;
  170.              -link|-function|-k)
  171.         do_help
  172.                  ;;
  173.              *)
  174.         do_help
  175.                 ;;
  176.         esac
  177.         ;;
  178.     2)
  179.         case $1 in
  180.              -ns)
  181.                 case $2 in 
  182.                    -nw)
  183.                       do_scilex $*
  184.                       ;;
  185.                    *)
  186.                       do_scilex $* &
  187.                       ;;
  188.                 esac
  189.         ;;
  190.          -nw)
  191.         do_geci_scilex $* 
  192.         ;;
  193.              -display)
  194.         do_geci_scilex $*
  195.         ;;
  196.             -help)
  197.         do_man $2|more
  198.                 ;;
  199.             -comp)
  200.         do_compile $2
  201.                 ;;
  202.         -k)
  203.         do_mank $2
  204.         ;;
  205.             -link)
  206.                 shift
  207.         $SCI/bin/scilink $SCI $*
  208.                 ;;
  209.             -function)
  210.         $SCI/bin/minfopr $SCI $2
  211.         ;;
  212.             *)
  213.         do_help
  214.                 ;;
  215.         esac
  216.         ;;
  217.     3)
  218.         case $1 in
  219.             -lib)
  220.         do_lib $2 $3
  221.                 ;;
  222.             -print_l)
  223.                 do_print -landscape $2 $3
  224.                 ;;
  225.             -print_p)
  226.                 do_print -portrait $2 $3
  227.                 ;;
  228.             -save_l)
  229.                 do_save -landscape $2 $3
  230.                 ;;
  231.             -save_p)
  232.                 do_save -portrait $2 $3
  233.                 ;;
  234.             *)
  235.         do_help
  236.                 ;;
  237.         esac
  238.         ;;
  239.     *)
  240.         case $1 in
  241.             -link)
  242.                 shift
  243.         $SCI/bin/scilink $SCI $*
  244.                 ;;
  245.             *)
  246.         do_help
  247.                 ;;
  248.         esac
  249.         ;;
  250. esac
  251.